﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Common;
using System.Data;
using SisVendas.Entidades;
using SisVendas.Constants;
using MySql.Data.MySqlClient;

namespace SisVendas.DataAccess
{
    public class EstoqueDAO
    {
        public static DataBaseHelper db = new DataBaseHelper();

        public static void Inserir(Estoque e, int idProduto)
        {
            string query = DatabaseConstants.SPName.InserirEstoque ;
            List<MySqlParameter> parametros = new List<MySqlParameter>();

            parametros.Add(new MySqlParameter(DatabaseConstants.Parametros.DataLancamento,e.DataLancamento));
            parametros.Add(new MySqlParameter(DatabaseConstants.Parametros.QtdEstoque, e.QuantidadeEstoque));
            parametros.Add(new MySqlParameter(DatabaseConstants.Parametros.QtdEstoqueMinimo, e.QuantidadeMinEstoque));
            parametros.Add(new MySqlParameter(DatabaseConstants.Parametros.IdProduto,idProduto));

            db.ExecuteNonQuery(query, CommandType.StoredProcedure, parametros.ToArray());

        }

        

        public static void Excluir(Estoque e)
        {
            List<MySqlParameter> parametros = new List<MySqlParameter>();
            parametros.Add(new MySqlParameter(DatabaseConstants.Parametros.IdEstoque, e.ID));

            db.ExecuteNonQuery(DatabaseConstants.SPName.ExcluirEstoqueProduto, parametros.ToArray());
        }

        public static void Atualizar(Estoque e)
        {
            string query = DatabaseConstants.SPName.InserirEstoque;
            List<MySqlParameter> parametros = new List<MySqlParameter>();

            parametros.Add(new MySqlParameter(DatabaseConstants.Parametros.DataLancamento, e.DataLancamento));
            parametros.Add(new MySqlParameter(DatabaseConstants.Parametros.QtdEstoque, e.QuantidadeEstoque));
            parametros.Add(new MySqlParameter(DatabaseConstants.Parametros.QtdEstoqueMinimo, e.QuantidadeMinEstoque));
            parametros.Add(new MySqlParameter(DatabaseConstants.Parametros.IdEstoque, e.ID));

            db.ExecuteNonQuery(query, CommandType.StoredProcedure, parametros.ToArray());

        }

    }
}
